home *** CD-ROM | disk | FTP | other *** search
-
-
- ░▒ ▒░ ▄▄ tm
- ░▒ ▒░ ██▀▀▀ █▀▀▀ Version
- ░▒▒░ ██ ██ █▀▀▀ 0.3ß
- ░▒ ██ ██▄▄▄ █▄▄▄ [NuKE]
- ──────────────────────────────────
- √irogen's Irregular Code Engine
- ───────────────────────────────────
-
- "A Virus Is Only As Great As It's Polymorphic Engine"
- -√irogen
-
- DISCLAIMER: √irogen is completely responsible for all your mistakes,
- ignorance, and the pregnancy of your girlfriend. However, should this
- software fail you, I'm not responsible.
-
- Hell0!
- ─────────────────────────────────────
- Welcome to √irogen's Irregular Code Engine version 0.3 ßeta, a completly
- new polymorphic engine from the hades of √irogen's laboratory. You'll
- find this engine quite powerful and diverse. It certainly outperforms [to
- say the least] any polymorphic code I wrote last year, and should easily be
- able to hold it's own against any engine you compare it to.
- This is a very early release of this software. If you'll notice the version,
- this is a beta release. Which means, I'm not finished writing this software.
- Please don't widely distribute until version 1.0. By that time, I'll have
- eliminated any bugs (if they exist), optimized the code, and maximized the
- engine power. I intend to release the complete source code upon reaching
- version 1.0.
-
- How to Use
- ──────────────────────────────────────
- Add the following line to your latest super-virus:
-
- extrn _vice:near
-
- Then call the routine from your code with the following parameters:
-
- DS:SI = address of code to encrypt
- ES:DI = address to put decryptor+encrypted code. (Be sure to reserve
- an extra 170 bytes for the decryptor code)
- CX = total code size (don't forget to add in the size of ViCE,
- 1761 bytes)
- DX = offset where decryption routine will be run from.
- (i.e. The offset where the decryptor will start on the infected
- file)
- AL = options byte, defined as follows:
- 76543210
- │││││││└─ 0=CS: Segment Override In Decryptor, 1=No CS: Override
- ││││││└── 0=Garbage Code Off, 1=Garbage Code On
- │││││└─── 0=Anti-TBSCAN Garbage Off, 1=Anti-TBSCAN Garbage On
- ││││└──── 0=JMPs not used in garbage, 1=JMPs used in garbage
- │││└───── not used
- ││└────── not used
- │└─────── not used
- └──────── not used
-
- bit 0=This bit specifies whether or not to force use of the CS
- segment in the decryptor. Typically, this bit should
- be set to 0 when infecting a COM file, and 1 when
- infecting an EXE.
- bit 1=This bit turns garbage code on or off. Garbage code
- greatly increses the size of the decyptor, but adds even
- more variability to the code. Note that if this bit is
- set to 0, then anti-tbscan garbage is also turned off.
- bit 2=This bit toggles the anti-tbscan code. When on, interrupt
- calls are inserted into the decryptor which cause TBSCAN
- to abort decryption of the virus. If there are any lockups
- on your system, turn this option off.
- bit 3=This bit toggles the usage of JMPs in the garbage code.
- ViCE has the capability of creating a seemingly endless
- spiral of JMPs in the decryption loop. However, this can
- slow down the decryptor alot. Note also that with JMPs
- on, sometimes the anti-tbscan code gets nullified.
-
-
-
- Returns:
- CX = Total length (virus code+decryptor)
-
-
- Example Viruses Included
- ─────────────────────
- I included a few viruses to demonstrate how to use ViCE. There are three
- of them: Firecide {update 2}, IceBurn, and IceMelt. They are all pretty
- much the same except for activation and the options they pass to ViCE.
- They should be included in the corresponding archives; also included
- are two COM and two EXE infections of each virus.
-
- FireCide {2} : Resident, Paristic EXE/COM
- ViCE: JMPS OFF, ANTi-TBSCAN ON
- IceBurn : Resident, Paristic EXE/COM
- ViCE: JMPS ON, Anti-tBSCAN ON
- IceMelt : Resident, Parastic EXE/COM
- ViCE: Garbage Code Off
-
-
- Specifications
- ─────────────────────
- ViCE
-
- Current Version: 0.3ß 02-21-95
- Procedure Name: _VICE
- Code Size: 1761 bytes
- Regs Destroyed: None. CX=Code Length
-
- Decryptors Generated
-
- Size: Approx. 13 - 170 bytes
- Encryption Type: ADD,SUB, and XOR - combinations of any. Direct, or load
- into register and manipulate.
- Regs Destroyed: Everything except segment registers
- Garbage Code: Random number of bytes between each functional operand.
- Consists of valid operands, invalid operands, JMPS,
- and interrupt calls.
- Detection: None.
-
- History
- ────────────
- v0.1ß = 02-05-95: ■Started coding.
- 02-09-95: ■First Beta Release. Getting too anxious to release
- this mother fucker.
- v0.2ß = 02-11-95: ■Fixed bug which rarely caused lockups when the decryptor
- size became too large for the loop construct. As a
- result, decryptor sizes have been reduced.
- ■Random Number seed wasn't being initialized correctly,
- fixed. No biggie, but things were predictable everytime
- it started with a seed of 0.
- ■Added capability of garbage code between a couple of
- operands it didn't before.
- ■Improved Anti-TBSCAN code significantly
- ■Optimized code; this version ended up being only 15
- bytes larger.
- ■This version is released under [NuKE].
- v0.3ß = 02-21-95: ■Rewrote garbage code engine. Now much more diverse.
- ■Huge bug created in version v0.2ß, would cause only
- partial encryptions sometimes. Fixed. I released this
- new version immediatly after I disconvered the bug.
- ■FUCKFUCKFUCKFUCKFUCK, GOd damned mother fucker if I
- didn't overlook another one too, shit shit shit shit.
- CX upon ViCE's return was accidently added to the
- run offset [dx].
-
- [615] 586.9515 - √irogen
-